﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using OffGeriatria.Dao;

namespace OffGeriatria
{
    public partial class frmdinamiza : Form
    {
        #region Propiedades Publicas y Privadas

        int _participanteid = 0;
        CDinamizador _objCDinamizador = new CDinamizador();
        object dptoid = null;
        object ciudid = null;
        #endregion

        public frmdinamiza()
        {
            InitializeComponent();

            btnGuardar.Visible = true;
            btnGuardar.Enabled = true;
            btnActualizar.Enabled = false;
            btnActualizar.Visible = false;
        }

        public frmdinamiza(int participanteid)
        {
            InitializeComponent();

            btnGuardar.Visible = false;
            btnGuardar.Enabled = false;
            btnActualizar.Enabled = true;
            btnActualizar.Visible = true;

            _participanteid = participanteid;
            if (participanteid != 0)
            {
                ArrayList datos_participante = _objCDinamizador.Select_Participante(_participanteid);
                ArrayList datos_socioeconomico = _objCDinamizador.Select_SocioEconomico(_participanteid);
                ArrayList salud = _objCDinamizador.Select_Salud(_participanteid);

                CargarParticipante(datos_participante);
                if (datos_socioeconomico.Count != 0)
                {
                    CargarSocioEconomico(datos_socioeconomico);
                    CargarSalud(salud);
                }
            }
        }

        public void CargarParticipante(ArrayList participante)
        {
            var c_paises = new catgeriatriaDataSet().dbo_country;
            var ad_paises = new catgeriatriaDataSetTableAdapters.dbo_countryTableAdapter();
            ad_paises.Fill(c_paises);

            cboPais.DataSource = c_paises;
            cboPais.DisplayMember = "nombre";
            cboPais.ValueMember = "paisCod";
            cboPais.Refresh();

            //Numero de Documento
            txtnumerodocumento.Text = participante[2].ToString();

            //Valido tipo de documento
            switch (participante[3].ToString())
            {
                case "CC":
                    //En caso de tener cedula de ciudadania
                    cbodocumentoidentidad.SelectedItem = "Cedula";
                    break;
                case "CE":
                    //En caso de tener cedula de extrangeria
                    cbodocumentoidentidad.SelectedItem = "Cedula de Extrangeria";
                    break;
                case "Otro":
                    //En caso de tener otro tipo de documento
                    cbodocumentoidentidad.SelectedItem = "Otro";
                    break;
                case "SD":
                    //En caso de no tener documento
                    cbodocumentoidentidad.SelectedItem = "SD";
                    break;
            }

            //Primer Nombre
            txtprimernombre.Text = participante[4].ToString().Trim();
            //Segundo Nombre
            txtsegundonombre.Text = participante[5].ToString().Trim();
            //Primer Apellido
            txtprimerapellido.Text = participante[6].ToString().Trim();
            //Segundo Apellido
            txtsegundoapellido.Text = participante[7].ToString().Trim();
            //Sexo
            cbosexo.SelectedItem = participante[8].ToString().Trim();
            //Fecha Nacimiento
            txtfechanacimiento.Text = participante[9].ToString().Trim();
            //Tiene Celular
            cbotienecelular.SelectedItem = participante[10].ToString().Trim();
            //Celular
            txtNumeroCelular.Text = participante[11].ToString().Trim();
            //Atendido en centro
            cboatendidocentrosalud.SelectedItem = participante[12].ToString().Trim();
            //Centro de salud
            txtNombreentidad.Text = participante[13].ToString().Trim();
            //Vivio en campo
            cboviviocampo.SelectedItem = participante[14].ToString().Trim();
            //Campo años
            txtnumeroaños.Text = participante[15].ToString().Trim();
            //Actualmente vive en
            cboviveen.SelectedItem = participante[16].ToString().Trim();
            //Estado civil
            cboestadocivil.SelectedItem = participante[17].ToString().Trim();
            //Convive en pareja
            cboconviveenpareja.SelectedItem = participante[18].ToString().Trim();
            //Hace 5 años vivia en
            cbohace5años.SelectedItem = participante[19].ToString().Trim();
            //Hijos nacidos vivos
            txthijosnacidosvivos.Text = participante[20].ToString().Trim();
            //Cuantos viven aun
            txtcuantosviven.Text = participante[21].ToString().Trim();
            //Sabe leer y escribir
            cboleerescribir.SelectedItem = participante[22].ToString().Trim();
            //Pais Codigo
            cboPais.SelectedValue = participante[26].ToString().Trim();
            //Departamento codigo
            CargarDepartamentos(false, false, Convert.ToInt32(participante[23]));
            cbodepartamentos.SelectedValue = participante[23];
            //Ciudad codigo
            cboCiudades.SelectedValue = participante[24].ToString().Trim();
            //Actualizo documento
            cboactualizocedula.SelectedItem = participante[25].ToString().Trim();


        }

        public void CargarSocioEconomico(ArrayList socioeconomico)
        {
            //2 Asistió a la escuela
            cbofueescuela.SelectedItem = socioeconomico[2].ToString().Trim();
            //3 Grado Primaria
            if (socioeconomico[2].ToString().Trim() == "Si" && socioeconomico[3] == null && socioeconomico[4] == null && socioeconomico[5] == null && socioeconomico[6] == null)
            {
                chxnorecuerdaultimosmeses.Checked = true;
            }
            if (socioeconomico[3] != null)
                cbogradoprimaria.SelectedItem = socioeconomico[3].ToString().Trim();
            //4 Grado Bachillerato
            if (socioeconomico[4] != null)
                cbogradosecundaria.SelectedItem = socioeconomico[4].ToString().Trim();
            //5 Grado Tecnico
            if (socioeconomico[5] != null)
                cbotecnica.SelectedItem = socioeconomico[5].ToString().Trim();
            //6 Grado Universitarios
            if (socioeconomico[6] != null)
                cbogradouniversidad.SelectedItem = socioeconomico[6].ToString().Trim();
            //7 Estudia actualmente
            cboestudiaactualmente.SelectedItem = socioeconomico[7].ToString().Trim();
            //8 Que estudia
            txtqueestudia.Text = socioeconomico[8].ToString().Trim();
            //9 Le interesa estudiar
            cboiniciaruncurso.SelectedItem = socioeconomico[9].ToString().Trim();
            //9 Le interesa estudiar
            txtenquetemas.Text = socioeconomico[10].ToString().Trim();
            //10 Tiene computador en su hogar
            cbohaycomputadores.SelectedItem = socioeconomico[11].ToString().Trim();
            //11 Sabe usar un computador
            cbosabeusarpc.SelectedItem = socioeconomico[12].ToString().Trim();
            //12 Le interesa aprender a usarlo
            cboleinteresausarlo.SelectedItem = socioeconomico[13].ToString().Trim();
            //13 Zona
            cboZona.SelectedItem = socioeconomico[14].ToString().Trim();
            //14 Barrio
            txtbarrio.Text = socioeconomico[15].ToString().Trim();
            //15 Estrato
            cboEstrato.SelectedItem = socioeconomico[16].ToString().Trim();

            if (socioeconomico[17].ToString().Trim() == "Si")
                //16 Servicio acueducto
                serv_acueducto.Checked = true;
            else
                //Servicio acueducto
                serv_acueducto.Checked = false;

            if (socioeconomico[18].ToString().Trim() == "Si")
                //17 Servicio Alcantarillado
                serv_alcantarillado.Checked = true;
            else
                //Servicio Alcantarillado
                serv_alcantarillado.Checked = false;

            if (socioeconomico[19].ToString().Trim() == "Si")
                //18 Servicio telefono
                serv_telefono.Checked = true;
            else
                //Servicio telefono
                serv_telefono.Checked = false;

            if (socioeconomico[20].ToString().Trim() == "Si")
                //19 Servicio electricidad
                serv_electricidad.Checked = true;
            else
                //Servicio electricidad
                serv_electricidad.Checked = false;

            if (socioeconomico[21].ToString().Trim() == "Si")
                //20 Servicio gas
                serv_gas.Checked = true;
            else
                //Servicio gas
                serv_gas.Checked = false;

            //21 Actualmente vive en
            cboActualmenteViveen.SelectedItem = socioeconomico[22].ToString().Trim();
            //22 En que condicion tiene la casa
            cbocondicioncasa.SelectedItem = socioeconomico[23].ToString().Trim();
            //23 dpto donde vive
            dptoid = socioeconomico[24];
            //24 Ciudad donde vive
            ciudid = socioeconomico[25];

            txtdireccion.Text = socioeconomico[28].ToString().Trim();
        }

        public void CargarSalud(ArrayList salud)
        {
            //Afialiado a Sisbem
            cboestasisben.SelectedItem = salud[2].ToString().Trim();
            //Numero Sisben
            txtNumeroSisben.Text = salud[3].ToString().Trim();
            //Afiliado a Salud
            cboafiliadosalud.SelectedItem = salud[4].ToString().Trim();
            //Tipo Afiliacion salud
            cbotiposalud.SelectedItem = salud[5].ToString().Trim();
            //Nombre de entidad
            txtNombreEntidadSalud.Text = salud[6].ToString().Trim();
            //Ha recibido atencion
            cborecibioatencion.SelectedItem = salud[7].ToString().Trim();
            //le ordenaron ayudas
            cboayudastecnicos.SelectedItem = salud[8].ToString().Trim();
            //Cuales
            txtcuales1.Text = salud[9].ToString().Trim();
            //Utiliza ayudas
            cboutilizaayudas.SelectedItem = salud[10].ToString().Trim();
            //Cuales
            txtcuales2.Text = salud[11].ToString().Trim();
            //Cree que necesita ayudas
            cbocreeayudas.SelectedItem = salud[12].ToString().Trim();
            //cuales
            txtcuales3.Text = salud[13].ToString().Trim();
            //donde fue cuando se enfermo
            cboenfermo6.SelectedItem = salud[14].ToString().Trim();
            //null
            cboporquenofue.SelectedItem = salud[15].ToString().Trim();
            //Requiere otra perosna
            cborequiere.SelectedItem = salud[16].ToString().Trim();
            //null
            cbocualpersona.SelectedItem = salud[17].ToString().Trim();
            cbosexopersona.SelectedItem = salud[18].ToString().Trim();

        }

        private void btnperfil_Click(object sender, EventArgs e)
        {
            fileperfil.Filter = "|*.pdf;*.doc;";
            fileperfil.ShowDialog();

        }

        private void frmdinamiza_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'catgeriatriaDataSet.dbo_country' table. You can move, or remove it, as needed.
            this.dbo_countryTableAdapter.Fill(this.catgeriatriaDataSet.dbo_country);
            // TODO: This line of code loads data into the 'catgeriatriaDataSet.dbo_campos' table. You can move, or remove it, as needed.
            this.dbo_camposTableAdapter.Fill(this.catgeriatriaDataSet.dbo_campos);

            CargarDepartamentos(true);

            if (dptoid != null && ciudid != null)
            {
                cbodepartamentoslc.SelectedValue = dptoid;
                cbociudadeslc.SelectedValue = ciudid;
            }

        }

        private void cboPais_SelectedIndexChanged(object sender, EventArgs e)
        {
            CargarDepartamentos();
        }

        private void CargarDepartamentos(bool es_lc = false, bool carga = false, int departamento = 0)
        {
            var c_departamentos = new catgeriatriaDataSet().dbo_departamentos;
            var ad_departamentos = new catgeriatriaDataSetTableAdapters.dbo_departamentosTableAdapter();

            ad_departamentos.Fill(c_departamentos);
            if (!es_lc)
            {
                cbodepartamentos.DataSource = c_departamentos.Select();
                cbodepartamentos.DisplayMember = c_departamentos.Columns["departamento"].ToString();
                cbodepartamentos.ValueMember = c_departamentos.Columns["dptoCod"].ToString();
                cbodepartamentos.Refresh();
            }
            else
            {
                cbodepartamentoslc.DataSource = c_departamentos.Select();
                cbodepartamentoslc.DisplayMember = c_departamentos.Columns["departamento"].ToString();
                cbodepartamentoslc.ValueMember = c_departamentos.Columns["dptoCod"].ToString();
                cbodepartamentoslc.Refresh();
            }

            var c_ciudades = new catgeriatriaDataSet().dbo_ciudades;
            var ad_ciudades = new catgeriatriaDataSetTableAdapters.dbo_ciudadesTableAdapter();

            ad_ciudades.Fill(c_ciudades);

            if (!es_lc)
            {
                if (carga != false)
                    cboCiudades.DataSource = c_ciudades.Select("dptoCod = 5");
                else
                    cboCiudades.DataSource = c_ciudades.Select("dptoCod =" + departamento);

                cboCiudades.DisplayMember = c_ciudades.Columns["ciudad"].ToString();
                cboCiudades.ValueMember = c_ciudades.Columns["ciudadCod"].ToString();
                cboCiudades.Refresh();
            }
            else
            {
                if (carga != false)
                    cbociudadeslc.DataSource = c_ciudades.Select("dptoCod = 5");
                else
                    cbociudadeslc.DataSource = c_ciudades.Select("dptoCod =" + departamento);

                cbociudadeslc.DisplayMember = c_ciudades.Columns["ciudad"].ToString();
                cbociudadeslc.ValueMember = c_ciudades.Columns["ciudadCod"].ToString();
                cbociudadeslc.Refresh();
            }
        }

        private void CargarCiudades(bool es_lc = false, int dptoid = 0)
        {
            var c_ciudades = new catgeriatriaDataSet().dbo_ciudades;
            var ad_ciudades = new catgeriatriaDataSetTableAdapters.dbo_ciudadesTableAdapter();

            ad_ciudades.Fill(c_ciudades);
            if (!es_lc)
            {
                cboCiudades.DataSource = c_ciudades.Select("dptoCod = " + cbodepartamentos.SelectedValue);
                cboCiudades.DisplayMember = c_ciudades.Columns["ciudad"].ToString();
                cboCiudades.ValueMember = c_ciudades.Columns["ciudadCod"].ToString();
                cboCiudades.Refresh();
            }
            else
            {
                try
                {
                    if (dptoid == 0)
                    {
                        OffGeriatria.catgeriatriaDataSet.dbo_departamentosRow item = (OffGeriatria.catgeriatriaDataSet.dbo_departamentosRow)cbodepartamentoslc.SelectedValue;
                        cbociudadeslc.DataSource = c_ciudades.Select("dptoCod = " + item.dptoCod);
                    }
                    else
                        cbociudadeslc.DataSource = c_ciudades.Select("dptoCod = " + dptoid);
                }
                catch (Exception) { cbociudadeslc.DataSource = c_ciudades.Select("dptoCod = " + cbodepartamentoslc.SelectedValue); }


                cbociudadeslc.DisplayMember = c_ciudades.Columns["ciudad"].ToString();
                cbociudadeslc.ValueMember = c_ciudades.Columns["ciudadCod"].ToString();
                cbociudadeslc.Refresh();
            }
        }

        private void cboCiudades_Click(object sender, EventArgs e)
        {

        }

        private void cbodepartamentos_Click(object sender, EventArgs e)
        {
            CargarCiudades();
        }

        private void cbodepartamentoslc_SelectedIndexChanged(object sender, EventArgs e)
        {
            CargarCiudades(true);
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            AlmacenarDinamizaFrm();
        }

        private void AlmacenarDinamizaFrm()
        {
            /*Instancio un objeto del tipo ArrayList
             * Almacena los valores para la consulta de insercion
             */
            ArrayList valores_dinamiza = new ArrayList();
            //Fecha de Creacion
            valores_dinamiza.Add(DateTime.Now.ToShortDateString());
            //Numero de Documento
            valores_dinamiza.Add(txtnumerodocumento.Text.Trim());

            //Valido tipo de documento
            switch (cbodocumentoidentidad.SelectedItem.ToString())
            {
                case "Cedula":
                    //En caso de tener cedula de ciudadania
                    valores_dinamiza.Add("CC");
                    break;
                case "Cedula de Extrangeria":
                    //En caso de tener cedula de extrangeria
                    valores_dinamiza.Add("CE");
                    break;
                case "Otro":
                    //En caso de tener otro tipo de documento
                    valores_dinamiza.Add("Otro");
                    break;
                case "SD":
                    //En caso de no tener documento
                    valores_dinamiza.Add("SD");
                    break;
            }

            //Primer Nombre
            valores_dinamiza.Add(txtprimernombre.Text.Trim());
            //Segundo Nombre
            valores_dinamiza.Add(txtsegundonombre.Text.Trim());
            //Primer Apellido
            valores_dinamiza.Add(txtprimerapellido.Text.Trim());
            //Segundo Apellido
            valores_dinamiza.Add(txtsegundoapellido.Text.Trim());
            //Sexo
            valores_dinamiza.Add(cbosexo.SelectedText);
            //Fecha Nacimiento
            valores_dinamiza.Add(txtfechanacimiento.Text.Trim());
            //Tiene Celular
            valores_dinamiza.Add(cbotienecelular.SelectedItem);
            //Celular
            valores_dinamiza.Add(txtNumeroCelular.Text.Trim());
            //Atendido en centro
            valores_dinamiza.Add(cboatendidocentrosalud.SelectedItem);
            //Centro de salud
            valores_dinamiza.Add(txtNombreentidad.Text.Trim());
            //Vivio en campo
            valores_dinamiza.Add(cboviviocampo.SelectedItem);
            //Campo años
            valores_dinamiza.Add(txtnumeroaños.Text.Trim());
            //Actualmente vive en
            valores_dinamiza.Add(cboviveen.SelectedItem);
            //Estado civil
            valores_dinamiza.Add(cboestadocivil.SelectedItem);
            //Convive en pareja
            valores_dinamiza.Add(cboconviveenpareja.SelectedItem);
            //Hace 5 años vivia en
            valores_dinamiza.Add(cbohace5años.SelectedItem);
            //Hijos nacidos vivos
            valores_dinamiza.Add(txthijosnacidosvivos.Text.Trim());
            //Cuantos viven aun
            valores_dinamiza.Add(txtcuantosviven.Text.Trim());
            //Sabe leer y escribir
            valores_dinamiza.Add(cboleerescribir.SelectedItem);
            //Departamento codigo
            valores_dinamiza.Add(cbodepartamentos.SelectedValue);
            //Ciudad codigo
            valores_dinamiza.Add(cboCiudades.SelectedValue);
            //Actualizo documento
            valores_dinamiza.Add(cboactualizocedula.SelectedItem);
            //Pais Codigo
            valores_dinamiza.Add(cboPais.SelectedValue);
            //url Foto
            valores_dinamiza.Add("url foto");
            //url cedula
            valores_dinamiza.Add("url cedula");
            //url sisben
            valores_dinamiza.Add("url sisben");

            //Instancio objeto del tipo dinamizador
            CDinamizador objCDinamizador = new CDinamizador();
            //Ejecuto la instrucion insertar nuevo item para moulo dinamizador
            bool result_insert = objCDinamizador.Add_Participante(valores_dinamiza);
            int participanteid = 0;


            if (result_insert)
                participanteid = objCDinamizador.Get_Last_Id();
            else
                MessageBox.Show("Opss ocurrio un error inesperado.", "Información Cat Geriatria", MessageBoxButtons.OK, MessageBoxIcon.Error);
            #region Socioeconomico
            if (participanteid != 0)
            {
                valores_dinamiza = new ArrayList();

                //1 Fecha Creacion
                valores_dinamiza.Add(DateTime.Now.ToShortDateString());
                //2 Asistió a la escuela
                valores_dinamiza.Add(cbofueescuela.SelectedItem);
                //3 Grado Primaria
                valores_dinamiza.Add(cbogradoprimaria.SelectedItem);
                //4 Grado Bachillerato
                valores_dinamiza.Add(cbogradosecundaria.SelectedItem);
                //5 Grado Tecnico
                valores_dinamiza.Add(cbotecnica.SelectedItem);
                //6 Grado Universitarios
                valores_dinamiza.Add(cbogradouniversidad.SelectedItem);
                //7 Estudia actualmente
                valores_dinamiza.Add(cboestudiaactualmente.SelectedItem);
                //8 Que estudia
                valores_dinamiza.Add(txtqueestudia.Text.Trim());
                //9 Le interesa estudiar
                valores_dinamiza.Add(cboiniciaruncurso.SelectedItem);
                //9 Le interesa estudiar
                valores_dinamiza.Add(txtenquetemas.Text.Trim());
                //10 Tiene computador en su hogar
                valores_dinamiza.Add(cbohaycomputadores.SelectedItem);
                //11 Sabe usar un computador
                valores_dinamiza.Add(cbosabeusarpc.SelectedItem);
                //12 Le interesa aprender a usarlo
                valores_dinamiza.Add(cboleinteresausarlo.SelectedItem);
                //13 Zona
                valores_dinamiza.Add(cboZona.SelectedItem);
                //14 Barrio
                valores_dinamiza.Add(txtbarrio.Text);
                //15 Estrato
                valores_dinamiza.Add(cboEstrato.SelectedItem);

                if (serv_acueducto.Checked)
                    //16 Servicio acueducto
                    valores_dinamiza.Add("Si");
                else
                    //Servicio acueducto
                    valores_dinamiza.Add("No");

                if (serv_alcantarillado.Checked)
                    //17 Servicio Alcantarillado
                    valores_dinamiza.Add("Si");
                else
                    //Servicio Alcantarillado
                    valores_dinamiza.Add("No");

                if (serv_telefono.Checked)
                    //18 Servicio telefono
                    valores_dinamiza.Add("Si");
                else
                    //Servicio telefono
                    valores_dinamiza.Add("No");

                if (serv_electricidad.Checked)
                    //19 Servicio electricidad
                    valores_dinamiza.Add("Si");
                else
                    //Servicio electricidad
                    valores_dinamiza.Add("No");

                if (serv_gas.Checked)
                    //20 Servicio gas
                    valores_dinamiza.Add("Si");
                else
                    //Servicio gas
                    valores_dinamiza.Add("No");

                //21 Actualmente vive en
                valores_dinamiza.Add(cboActualmenteViveen.SelectedItem);
                //22 En que condicion tiene la casa
                valores_dinamiza.Add(cbocondicioncasa.SelectedItem);
                //23 dpto donde vive
                valores_dinamiza.Add(cbodepartamentoslc.SelectedValue);
                //24 Ciudad donde vive
                valores_dinamiza.Add(cbociudadeslc.SelectedValue);
                //25 Identificador de participante
                valores_dinamiza.Add(participanteid);
                //26 Usuario id
                valores_dinamiza.Add(12);
                //27 direccion
                valores_dinamiza.Add(txtdireccion.Text.Trim());

                //Asigno y ejecuto los valores para la tabla socioeconomico
                bool inserto_socioeconomico = objCDinamizador.Add_SocioEconomico(valores_dinamiza);

            }
            #endregion

            #region Salud

            if (participanteid != 0)
            {
                valores_dinamiza = new ArrayList();
                //Fecha Creacion
                valores_dinamiza.Add(DateTime.Now.ToShortDateString());
                //Afialiado a Sisbem
                valores_dinamiza.Add(cboestasisben.SelectedItem);
                //Numero Sisben
                valores_dinamiza.Add(txtNumeroSisben.Text);
                //Afiliado a Salud
                valores_dinamiza.Add(cboafiliadosalud.SelectedItem);
                //Tipo Afiliacion salud
                valores_dinamiza.Add(cbotiposalud.SelectedItem);
                //Nombre de entidad
                valores_dinamiza.Add(txtNombreEntidadSalud.Text.Trim());
                //Ha recibido atencion
                valores_dinamiza.Add(cborecibioatencion.SelectedItem);
                //le ordenaron ayudas
                valores_dinamiza.Add(cboayudastecnicos.SelectedItem);
                //Cuales
                valores_dinamiza.Add(txtcuales1.Text.Trim());
                //Utiliza ayudas
                valores_dinamiza.Add(cboutilizaayudas.SelectedItem);
                //Cuales
                valores_dinamiza.Add(txtcuales2.Text.Trim());
                //Cree que necesita ayudas
                valores_dinamiza.Add(cbocreeayudas.SelectedItem);
                //cuales
                valores_dinamiza.Add(txtcuales3.Text.Trim());
                //donde fue cuando se enfermo
                valores_dinamiza.Add(cboenfermo6.SelectedItem);
                //null
                valores_dinamiza.Add(cboporquenofue.SelectedItem);
                //Requiere otra perosna
                valores_dinamiza.Add(cborequiere.SelectedItem);
                //null
                valores_dinamiza.Add(cbocualpersona.SelectedItem);
                valores_dinamiza.Add(cbosexopersona.SelectedItem);
                //Participante id
                valores_dinamiza.Add(participanteid);
                //usuario id
                valores_dinamiza.Add(7);

                objCDinamizador.Add_Salud(valores_dinamiza);
            }

            #endregion

            if (result_insert)
            {
                MessageBox.Show("La información se almaceno correctamente.", "Información Cat Geriatria", MessageBoxButtons.OK, MessageBoxIcon.Information);
                btnGuardar.Visible = false;
                btnGuardar.Enabled = false;
                btnActualizar.Enabled = true;
                btnActualizar.Visible = true;
            }
            else
                MessageBox.Show("Opss ocurrio un error inesperado.", "Información Cat Geriatria", MessageBoxButtons.OK, MessageBoxIcon.Error);

        }

        private void ActualizarDinamizaFrm()
        {
            /*Instancio un objeto del tipo ArrayList
             * Almacena los valores para la consulta de insercion
             */
            ArrayList valores_dinamiza = new ArrayList();
            //Fecha de Creacion
            //valores_dinamiza.Add(DateTime.Now.ToShortDateString());
            //Numero de Documento
            valores_dinamiza.Add(txtnumerodocumento.Text.Trim());

            //Valido tipo de documento
            switch (cbodocumentoidentidad.SelectedItem.ToString())
            {
                case "Cedula":
                    //En caso de tener cedula de ciudadania
                    valores_dinamiza.Add("CC");
                    break;
                case "Cedula de Extrangeria":
                    //En caso de tener cedula de extrangeria
                    valores_dinamiza.Add("CE");
                    break;
                case "Otro":
                    //En caso de tener otro tipo de documento
                    valores_dinamiza.Add("Otro");
                    break;
                case "SD":
                    //En caso de no tener documento
                    valores_dinamiza.Add("SD");
                    break;
            }

            //Primer Nombre
            valores_dinamiza.Add(txtprimernombre.Text.Trim());
            //Segundo Nombre
            valores_dinamiza.Add(txtsegundonombre.Text.Trim());
            //Primer Apellido
            valores_dinamiza.Add(txtprimerapellido.Text.Trim());
            //Segundo Apellido
            valores_dinamiza.Add(txtsegundoapellido.Text.Trim());
            //Sexo
            valores_dinamiza.Add(cbosexo.SelectedText);
            //Fecha Nacimiento
            valores_dinamiza.Add(txtfechanacimiento.Text.Trim());
            //Tiene Celular
            valores_dinamiza.Add(cbotienecelular.SelectedItem);
            //Celular
            valores_dinamiza.Add(txtNumeroCelular.Text.Trim());
            //Atendido en centro
            valores_dinamiza.Add(cboatendidocentrosalud.SelectedItem);
            //Centro de salud
            valores_dinamiza.Add(txtNombreentidad.Text.Trim());
            //Vivio en campo
            valores_dinamiza.Add(cboviviocampo.SelectedItem);
            //Campo años
            valores_dinamiza.Add(txtnumeroaños.Text.Trim());
            //Actualmente vive en
            valores_dinamiza.Add(cboviveen.SelectedItem);
            //Estado civil
            valores_dinamiza.Add(cboestadocivil.SelectedItem);
            //Convive en pareja
            valores_dinamiza.Add(cboconviveenpareja.SelectedItem);
            //Hace 5 años vivia en
            valores_dinamiza.Add(cbohace5años.SelectedItem);
            //Hijos nacidos vivos
            valores_dinamiza.Add(txthijosnacidosvivos.Text.Trim());
            //Cuantos viven aun
            valores_dinamiza.Add(txtcuantosviven.Text.Trim());
            //Sabe leer y escribir
            valores_dinamiza.Add(cboleerescribir.SelectedItem);
            //Departamento codigo
            valores_dinamiza.Add(cbodepartamentos.SelectedValue);
            //Ciudad codigo
            valores_dinamiza.Add(cboCiudades.SelectedValue);
            //Actualizo documento
            valores_dinamiza.Add(cboactualizocedula.SelectedItem);
            //Pais Codigo
            valores_dinamiza.Add(cboPais.SelectedValue);
            //url Foto
            valores_dinamiza.Add("url foto");
            //url cedula
            valores_dinamiza.Add("url cedula");
            //url sisben
            valores_dinamiza.Add("url sisben");

            //Instancio objeto del tipo dinamizador
            CDinamizador objCDinamizador = new CDinamizador();
            //Ejecuto la instrucion insertar nuevo item para moulo dinamizador
            bool result_insert = objCDinamizador.Update_Participante(_participanteid, valores_dinamiza);


            #region Socioeconomico
            if (_participanteid != 0)
            {
                valores_dinamiza = new ArrayList();

                //1 Fecha Creacion
                //valores_dinamiza.Add(DateTime.Now.ToShortDateString());
                //2 Asistió a la escuela
                valores_dinamiza.Add(cbofueescuela.SelectedItem);
                //3 Grado Primaria
                if (cbofueescuela.SelectedItem.ToString() == "Si")
                {
                    if (!chxnorecuerdaultimosmeses.Checked)
                    {
                        valores_dinamiza.Add(cbogradoprimaria.SelectedItem);
                        //4 Grado Bachillerato
                        valores_dinamiza.Add(cbogradosecundaria.SelectedItem);
                        //5 Grado Tecnico
                        valores_dinamiza.Add(cbotecnica.SelectedItem);
                        //6 Grado Universitarios
                        valores_dinamiza.Add(cbogradouniversidad.SelectedItem);
                    }
                    else
                    {
                        valores_dinamiza.Add(null);
                        //4 Grado Bachillerato
                        valores_dinamiza.Add(null);
                        //5 Grado Tecnico
                        valores_dinamiza.Add(null);
                        //6 Grado Universitarios
                        valores_dinamiza.Add(null);
                    }
                }
                else
                {
                    valores_dinamiza.Add(null);
                    //4 Grado Bachillerato
                    valores_dinamiza.Add(null);
                    //5 Grado Tecnico
                    valores_dinamiza.Add(null);
                    //6 Grado Universitarios
                    valores_dinamiza.Add(null);
                }
                //7 Estudia actualmente
                valores_dinamiza.Add(cboestudiaactualmente.SelectedItem);
                //8 Que estudia
                valores_dinamiza.Add(txtqueestudia.Text.Trim());
                //9 Le interesa estudiar
                valores_dinamiza.Add(cboiniciaruncurso.SelectedItem);
                //9 Le interesa estudiar
                valores_dinamiza.Add(txtenquetemas.Text.Trim());
                //10 Tiene computador en su hogar
                valores_dinamiza.Add(cbohaycomputadores.SelectedItem);
                //11 Sabe usar un computador
                valores_dinamiza.Add(cbosabeusarpc.SelectedItem);
                //12 Le interesa aprender a usarlo
                valores_dinamiza.Add(cboleinteresausarlo.SelectedItem);
                //13 Zona
                valores_dinamiza.Add(cboZona.SelectedItem);
                //14 Barrio
                valores_dinamiza.Add(txtbarrio.Text);
                //15 Estrato
                valores_dinamiza.Add(cboEstrato.SelectedItem);

                if (serv_acueducto.Checked)
                    //16 Servicio acueducto
                    valores_dinamiza.Add("Si");
                else
                    //Servicio acueducto
                    valores_dinamiza.Add("No");

                if (serv_alcantarillado.Checked)
                    //17 Servicio Alcantarillado
                    valores_dinamiza.Add("Si");
                else
                    //Servicio Alcantarillado
                    valores_dinamiza.Add("No");

                if (serv_telefono.Checked)
                    //18 Servicio telefono
                    valores_dinamiza.Add("Si");
                else
                    //Servicio telefono
                    valores_dinamiza.Add("No");

                if (serv_electricidad.Checked)
                    //19 Servicio electricidad
                    valores_dinamiza.Add("Si");
                else
                    //Servicio electricidad
                    valores_dinamiza.Add("No");

                if (serv_gas.Checked)
                    //20 Servicio gas
                    valores_dinamiza.Add("Si");
                else
                    //Servicio gas
                    valores_dinamiza.Add("No");

                //21 Actualmente vive en
                valores_dinamiza.Add(cboActualmenteViveen.SelectedItem);
                //22 En que condicion tiene la casa
                valores_dinamiza.Add(cbocondicioncasa.SelectedItem);
                //23 dpto donde vive
                valores_dinamiza.Add(cbodepartamentoslc.SelectedValue);
                //24 Ciudad donde vive
                valores_dinamiza.Add(cbociudadeslc.SelectedValue);
                //25 Identificador de participante
                valores_dinamiza.Add(_participanteid);
                //26 Usuario id
                valores_dinamiza.Add(12);
                //27 direccion
                valores_dinamiza.Add(txtdireccion.Text.Trim());

                //Asigno y ejecuto los valores para la tabla socioeconomico
                bool actualizo_socioeconomico = objCDinamizador.Update_SocioEconomico(_participanteid, valores_dinamiza);

            }
            #endregion

            #region Salud

            if (_participanteid != 0)
            {
                valores_dinamiza = new ArrayList();
                //Fecha Creacion
                //valores_dinamiza.Add(DateTime.Now.ToShortDateString());
                //Afialiado a Sisbem
                valores_dinamiza.Add(cboestasisben.SelectedItem);
                //Numero Sisben
                valores_dinamiza.Add(txtNumeroSisben.Text);
                //Afiliado a Salud
                valores_dinamiza.Add(cboafiliadosalud.SelectedItem);
                //Tipo Afiliacion salud
                valores_dinamiza.Add(cbotiposalud.SelectedItem);
                //Nombre de entidad
                valores_dinamiza.Add(txtNombreEntidadSalud.Text.Trim());
                //Ha recibido atencion
                valores_dinamiza.Add(cborecibioatencion.SelectedItem);
                //le ordenaron ayudas
                valores_dinamiza.Add(cboayudastecnicos.SelectedItem);
                //Cuales
                valores_dinamiza.Add(txtcuales1.Text.Trim());
                //Utiliza ayudas
                valores_dinamiza.Add(cboutilizaayudas.SelectedItem);
                //Cuales
                valores_dinamiza.Add(txtcuales2.Text.Trim());
                //Cree que necesita ayudas
                valores_dinamiza.Add(cbocreeayudas.SelectedItem);
                //cuales
                valores_dinamiza.Add(txtcuales3.Text.Trim());
                //donde fue cuando se enfermo
                valores_dinamiza.Add(cboenfermo6.SelectedItem);
                //null
                valores_dinamiza.Add(cboporquenofue.SelectedItem);
                //Requiere otra perosna
                valores_dinamiza.Add(cborequiere.SelectedItem);
                //null
                valores_dinamiza.Add(cbocualpersona.SelectedItem);
                valores_dinamiza.Add(cbosexopersona.SelectedItem);
                //Participante id
                valores_dinamiza.Add(_participanteid);
                //usuario id
                valores_dinamiza.Add(7);

                objCDinamizador.Update_Salud(_participanteid, valores_dinamiza);
            }

            #endregion

            if (result_insert)
                MessageBox.Show("La información se actualizó correctamente.", "Información Cat Geriatria", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else
                MessageBox.Show("Opss ocurrio un error inesperado.", "Información Cat Geriatria", MessageBoxButtons.OK, MessageBoxIcon.Error);

        }

        private void btnActualizar_Click(object sender, EventArgs e)
        {
            ActualizarDinamizaFrm();
        }

        private void chxnorecuerdaultimosmeses_CheckedChanged(object sender, EventArgs e)
        {
            if (chxnorecuerdaultimosmeses.Checked)
            {
                cbogradoprimaria.Enabled = false;
                cbogradosecundaria.Enabled = false;
                cbotecnica.Enabled = false;
                cbogradouniversidad.Enabled = false;

                cbogradoprimaria.Text = "Seleccione...";
                cbogradosecundaria.Text = "Seleccione...";
                cbotecnica.Text = "Seleccione...";
                cbogradouniversidad.Text = "Seleccione...";
            }
            else
            {
                cbogradoprimaria.Enabled = true;
                cbogradosecundaria.Enabled = true;
                cbotecnica.Enabled = true;
                cbogradouniversidad.Enabled = true;

            }
        }

        private void cboestudiaactualmente_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboestudiaactualmente.SelectedItem.ToString() == "Si")
                txtqueestudia.Enabled = true;
            else
            {
                txtqueestudia.Text = "";
                txtqueestudia.Enabled = false;
            }
        }

        private void cbotienecelular_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbotienecelular.SelectedItem.ToString() == "Si")
                txtNumeroCelular.Enabled = true;
            else
            {
                txtNumeroCelular.Text = "";
                txtNumeroCelular.Enabled = false;
            }

        }

        private void cboatendidocentrosalud_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboatendidocentrosalud.SelectedItem.ToString() == "Si")
                txtNombreentidad.Enabled = true;
            else
            {
                txtNombreentidad.Text = "";
                txtNombreentidad.Enabled = false;
            }
        }

        private void cboviviocampo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboviviocampo.SelectedItem.ToString() == "Si")
                txtnumeroaños.Enabled = true;
            else
            {
                txtnumeroaños.Text = "";
                txtnumeroaños.Enabled = false;
            }
        }

        private void cboiniciaruncurso_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboiniciaruncurso.SelectedItem.ToString() == "Si")
                txtenquetemas.Enabled = true;
            else
            {
                txtenquetemas.Text = "";
                txtenquetemas.Enabled = false;
            }
        }

        private void grpInfoAdicional_Enter(object sender, EventArgs e)
        {

        }

        private void cbofueescuela_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbofueescuela.SelectedItem.ToString() == "No" || cbofueescuela.SelectedItem.ToString() == "Ns/Nr")
            {
                cbogradoprimaria.Enabled = false;
                cbogradosecundaria.Enabled = false;
                cbotecnica.Enabled = false;
                cbogradouniversidad.Enabled = false;

                cbogradoprimaria.Text = "Seleccione...";
                cbogradosecundaria.Text = "Seleccione...";
                cbotecnica.Text = "Seleccione...";
                cbogradouniversidad.Text = "Seleccione...";
            }
            else
            {
                cbogradoprimaria.Enabled = true;
                cbogradosecundaria.Enabled = true;
                cbotecnica.Enabled = true;
                cbogradouniversidad.Enabled = true;

                chxnorecuerdaultimosmeses.Enabled = true;

            }
        }

        private void cboestasisben_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboestasisben.SelectedItem.ToString() == "Si")
                txtNumeroSisben.Enabled = true;
            else
            {
                txtNumeroSisben.Text = "";
                txtNumeroSisben.Enabled = false;
            }
        }

        private void cboafiliadosalud_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboafiliadosalud.SelectedItem.ToString() == "Si")
            {
                txtNombreEntidadSalud.Enabled = true;
                cbotiposalud.Enabled = true;
                cborecibioatencion.Enabled = true;
            }
            else
            {
                txtNombreEntidadSalud.Enabled = false;
                txtNombreEntidadSalud.Text = "";
                cbotiposalud.Enabled = false;
                cbotiposalud.Text = "Seleccione...";
                cborecibioatencion.Enabled = false;
                cborecibioatencion.Text = "Seleccione...";
            }
        }

        private void cboayudastecnicos_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboayudastecnicos.SelectedItem.ToString() == "Si")
                txtcuales1.Enabled = true;
            else
            {
                txtcuales1.Text = "";
                txtcuales1.Enabled = false;
            }
        }

        private void cboutilizaayudas_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboutilizaayudas.SelectedItem.ToString() == "Si")
                txtcuales2.Enabled = true;
            else
            {
                txtcuales2.Text = "";
                txtcuales2.Enabled = false;
            }
        }

        private void cbocreeayudas_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbocreeayudas.SelectedItem.ToString() == "Si")
                txtcuales3.Enabled = true;
            else
            {
                txtcuales3.Text = "";
                txtcuales3.Enabled = false;
            }
        }

        private void cboenfermo6_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboenfermo6.SelectedItem.ToString().Trim() == "No hice consulta aunque la necesite")
                cboporquenofue.Enabled = true;
            else
            {
                cboporquenofue.Text = "Seleccione...";
                cboporquenofue.Enabled = false;
            }
        }

        private void cboporquenofue_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void cborequiere_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cborequiere.SelectedItem.ToString().Trim() == "Si")
            {
                cbocualpersona.Enabled = true;
                cbosexopersona.Enabled = true;
            }
            else
            {
                cbocualpersona.Enabled = false;
                cbocualpersona.Text = "Seleccione...";
                cbosexopersona.Enabled = false;
                cbosexopersona.Text = "Seleccione...";
            }
        }
    }
}
